08. References & Resources
References & Resources
This lesson provides a list of resources for topics you should know in order to get the most from the Artificial Intelligence Nanodegree program. You are NOT required to review or complete all these resources before proceeding to the course content. These resources are strictly provided as references that you may turn to if you find yourself blocked by unfamiliar content outside the scope of instruction in the Artificial Intelligence lessons.
The Student Resources Page includes weekly schedules for each term to help you plan and keep pace, and useful information on the Project Assistant tool used to submit projects.
Python Programming
The Artificial Intelligence Nanodegree program requires intermediate Python programming skills, but prior intermediate-level programming experience in almost any language should be adequate to complete the projects. If Python is new, then it will help if you have prior experience in a C-style (C++, Java, Javascript, Python, etc.) language that supports object oriented programming.
Required Skills
- Recognize and use variables
- Control program flow with conditional statements
- Looping (including list comprehensions & generator statements)
- Write, modify, and use functions
- Write, modify, & use classes/objects (including object attributes & methods)
Resources
- Udacity’s Intro to Python Course
- Python Wiki: “Moving to Python from another language”
- Google’s Python for Developers course
- Design of Computer Programs with Peter Norvig
Shell Programming
The Artificial Intelligence Nanodegree program uses a couple of tools that are most conveniently executed as shell scripts including Git, and the Udacity Project Assistant. You should be able to launch a terminal (bash/cmd/powershell, etc., depending on your OS) and execute programs from the command line. (Specific instructions for each required tool are provided in the classroom.)
Required Skills
- Git basics (cloning a repository)
- Use a shell terminal to execute programs like:
- Python & conda (package manager)
- Udacity Project Assistant CLI tool
Resources
Mathematics
The Artificial Intelligence Nanodegree program expects some familiarity with advanced mathematics including differential calculus, linear algebra, and discrete mathematics
Required Topics
- Continuous functions & derivatives
- Linear algebra (vector spaces & operations)
- Elementary Graph Theory (definitions for nodes, edges, connectedness, etc.)
- Complexity Classes (big-O notation)
- Elementary Set Theory (definition of a set, etc.)
- Basic Logical Statements (truth tables, etc.)
Resources
- Udacity Linear Algebra Refresher Course
- Lessons 1, 3, and 6 of Udacity’s Intro to Algorithms Class (Social Network Magic Trick, Basic Graph Algorithms, and Hardness of Network Problems.)